package com.relytosoft.mizar.media.camera.services.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.relytosoft.mizar.media.camera.api.entity.CameraChannel;
import com.relytosoft.mizar.media.camera.api.pojo.dto.CameraChannelDto;
import com.relytosoft.mizar.media.camera.api.pojo.vo.CameraChannelVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author lj
 */
public interface CameraChannelMapper extends BaseMapper<CameraChannel> {

    /**
     * 根据设备ID查询通道信息
     *
     * @param cameraId 设备ID
     * @return 通道信息
     */
    List<CameraChannelVo> findById(Integer cameraId);

    /**
     * 分页查询通道数据
     *
     * @param page            分页数据
     * @param cameraChannelVo 查询条件
     * @param cameraIds       设别ID
     * @return 通道数据
     */
    IPage<CameraChannelVo> selectChannelPageList(Page<CameraChannelVo> page, @Param("ccv") CameraChannelVo cameraChannelVo, @Param("cameraIds") List<Integer> cameraIds);


    /**
     * 根据通道ID查询通道信息
     *
     * @param id 通道id
     * @return 通道信息
     */
    CameraChannelVo byId(Integer id);

    List<CameraChannelDto> selectByIds(@Param("channelIds") List<Integer> channelIds);
}
